package com.ssy.lingxi.system.service;

import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.system.dto.request.*;
import com.ssy.lingxi.system.dto.response.MemberEquitiesSetDetailsResponse;
import com.ssy.lingxi.system.dto.response.MemberGradeDetailsResponse;
import com.ssy.lingxi.system.dto.response.MemberGradeListResponse;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* 会员等级与权益设置列表服务层
* @author wrc、万宁
* @date 2020/6/5
*/
public interface MemberGradeService {

    /**
    * 查询会员等级与权益设置列表
    * @author wrc
    * @date 2020/6/5
    */
    Wrapper<PageData<MemberGradeListResponse>> memberGradeList(MemberGradeListRequest request);



    /**
    * 会员权益设置
    * @author wrc
    * @date 2020/6/5
    */
    Wrapper memberEquitiesSet(MemberEquitiesSetRequest request);


    /**
    * 会员等级设置
    * @author wrc
    * @date 2020/6/5
    */
    Wrapper memberGradeAdd(HttpServletRequest httpServletRequest, MemberGradeAddRequest request);



    /**
    * 查询会员等级详情
    * @author wrc
    * @date 2020/6/5
    */
    Wrapper<MemberGradeDetailsResponse> memberGradeDetails(MemberGradeDetailsRequest request);



    /**
    * 修改会员等级
    * @author wrc
    * @date 2020/6/5
    */
    Wrapper memberGradeUpdate(MemberGradeUpdateRequest request);



    /**
    * 删除会员等级
    * @author wrc
    * @date 2020/6/5
    */
    Wrapper memberGradeDelete(MemberGradeDeleteRequest request);



    /**
    * 停用会员等级设置
    * @author wrc
    * @date 2020/6/5
    */
    Wrapper memberGradeStop(MemberGradeDeleteRequest request);



    /**
    * 查询权益详情
    * @author wrc
    * @date 2020/8/4
    */
    Wrapper<List<MemberEquitiesSetDetailsResponse>> memberEquitiesSetDetails(MemberGradeDetailsRequest request);
}
